A SAN or storage area network, sometimes called a storage network environment, is a network dedicated to enabling multiple applications on multiple hosts to access, i.e., read and write, data stored in consolidated shared storage infrastructures. A SAN consists of SAN devices, for example, different types of switches, which are interlinked, and is based on a number of possible transfer protocols such as Fiber Channel and iSCSI. Each server is connected to a SAN with one or more network cards, for example, an HBA. Application data is stored as data objects on storage devices in storage units e.g. LUNs. The storage device may be used to store data related to the applications on the host.
Storage network environments enable applications to be executed on hosts and communicate with the storage environment components to gain read and writer access to their data objects. Thus, a storage network environment may comprise various types of components such as interconnected network components and storage device components. The storage environment may also comprise storage environment components for storing data objects (such as storage devices of different types) and for enabling read and wrote access to stored data objects (such as switches and directors of different types and other types of storage networking devices).
Enterprises are deploying increasingly large-scale SANs to gain economies-of-scale business benefits, and are performing and planning massive business-critical migration processes to these new environments. These SAN are increasingly large and complex. A typical SAN environment in a Fortune 500 company may contain hundreds or thousands of servers and tens or hundreds of switches and storage devices of different types. Furthermore these SAN environments are undergoing a large amount of change and growth.
The large size and rate of growth of SANs has led to added complexity. The number of components and links which may be associated with the data transfer from each given application and one or more of its data units may increase exponentially with the size of the SAN.
In turn, this complexity leads to difficulties in managing and configuring resources in the SAN. Compounded by the heterogeneity of the SAN devices, this complexity leads to high risk and inefficiency. The associated risk of failures in SANs is high, and the consequences of failures may be crippling. To this end, there is a significant need to tie the level of storage service provided to applications in storage environments to the amount of resources required to provide that level of service. In addition, there is a need to consider the quality levels of the individual components and the joint attributes along data flow paths, thereby allowing for better service levels as well as resource consumption.
The complexity in SANS could also lead to large imbalances in data traffic flow through the SAN. Traffic load imbalances may lead to failures in the SAN. To this end, there is a need to consider the traffic load through a given point in the storage network environment. Traffic load is the amount of data transferred through a point in the network, e.g., a given port of a given component in the network, over a specified interval of time. This interval of time may be fixed, such that the specified intervals occur periodically in time.
In a storage infrastructure environments, frequent mismatches occur between actual data traffic load and projected data traffic load. These imbalances or mismatches occur as a result of either congestion in the network environment, or a hardware, software, or configuration problem within one or more of the network components. This may be because typical data traffic monitoring approaches are too resource-specific or point-in-time oriented. Hence, these approaches cannot consider, in a time-consistent and application end-to-end fashion, the actual status of data traffic flow through in storage networks. These approaches also cannot account for the complete relationship among network applications, storage service levels, traffic load levels, and resource capacity.
Note that an access path or a logical access path will encompass a logical channel between a given application and a given data object. It may include several components, each of which must be configured appropriately for data traffic to flow through the component.
Because of the potentially very large number of components in the storage network environment, very frequent storage network environment changes, and large amount of local state information of each component, and because of the complexity of performing the correlation of the information and analysis of the end-to-end access paths and attributes, any data traffic load monitoring approach needs to be very efficient to perform the task of managing data traffic loads and resources in SANs effectively in realistic environments.
Currently, there are no adequate technological solutions to assist SAN administrators in managing data traffic load in storage environment. There are no solutions which considers the end to end service levels of applications, the end to end access paths for data flow, and the tier levels of resources and combination of resources. As such, there exists a need for systems and methods capable of providing dynamic traffic load monitoring and/or management. In particular, there is a need for a solution to the problem of efficiently managing the data traffic load through components in storage area network environments and mapping these loads to access paths and storage service levels for applications and/or hosts.